home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / i / internet / software / netstsr / inet.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-25  |  1.6 KB  |  80 lines

  1. #ifndef __INET__
  2. #define __INET__
  3.  
  4. #ifdef __INET_KERNEL__
  5.  
  6. #define INETCOOKIE 0x494e45554L        /*  "INET" */
  7.  
  8. #define NSOCKET        0
  9. #define NCONNECT    1                /* function id's to hook into */
  10. #define NACCEPT        2
  11. #define NBIND        3
  12. #define NCLOSE        4
  13. #define NWRITE        5
  14. #define NREAD        6
  15. #define NOPTION        7
  16. #define NFLUSH        8
  17.  
  18.  
  19. typedef struct _socket
  20. {
  21.     BASPAG *pid;
  22.     int        protocol;
  23.     int     handle;
  24.     int        state;
  25.     long    opt;
  26.     unsigned short lport;
  27. } SOCKET;
  28.  
  29. #define SS_CLOSED    0
  30. #define SS_OPENING    1
  31. #define SS_OPEN        2
  32. #define SS_CLOSING    3
  33. #define SS_ALLOC    4
  34.  
  35. #endif
  36.  
  37.  
  38. struct sockaddr
  39. {
  40.     unsigned short    sa_family;            /* address family */
  41.     char            sa_data[14];
  42. };
  43.  
  44. struct sockaddr_in
  45. {
  46.     unsigned short    sin_family;
  47.     unsigned short    sin_port;
  48.     long            sin_addr;
  49.     char            sin_zero[8];
  50. };
  51.  
  52.  
  53. #define SOCK_STREAM        1
  54. #define SOCK_DGRAM        2
  55.  
  56. extern int nsocket(int protocol);
  57. extern int (*nconnect)(int s, struct sockaddr *name, size_t namelen);
  58. extern int (*naccept)(int s, struct sockaddr *addr, size_t addrlen);
  59. extern int (*nbind)(int s,int port);
  60. extern int (*nclose)(int s);
  61. extern long (*nwrite)(int s, long len, char *msg);
  62. extern long (*nread)(int s, long len, char *msg);
  63. extern long (*noption)(int s, long option);
  64. extern int (*nflush)(int s);
  65.  
  66. #define OPT_NOBLOCK    0x40000000L
  67. #define OPT_BLOCK    0x20000000L
  68. #define OPT_GET        0x80000000L
  69.  
  70. #define NET_OK            ( 0)
  71. #define NET_ENOTINST    (-1)
  72. #define NET_RESET        (-2)
  73. #define NET_NOREACH        (-3)
  74. #define NET_NOENT        (-4)
  75. #define NET_NOSOCKET    (-5)
  76. #define NET_SOCKUSED    (-6)
  77. #define NET_NOMEM        (-7)
  78.  
  79. #endif
  80.